package cn.iocoder.yudao.module.system.controller.admin.zkdatanew.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 新数据纪录新增/修改 Request VO")
@Data
public class ZkdataNewSaveReqVO {

    @Schema(description = "角色ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31108")
    private Long id;

    @Schema(description = "数据标识", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "数据标识不能为空")
    private String dataUniq;

    @Schema(description = "数据总数")
    private Integer dataTotal;

    @Schema(description = "发送时间")
    private LocalDateTime sendTime;

    @Schema(description = "包长度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "包长度不能为空")
    private Integer packetLength;

    @Schema(description = "接收方")
    private String dataReceiver;

    @Schema(description = "发送方")
    private String dataSender;

    @Schema(description = "数据类型", example = "2")
    private Integer dataType;

    @Schema(description = "包序列号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "包序列号不能为空")
    private Integer dataSeq;

    @Schema(description = "数据长度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数据长度不能为空")
    private Integer dataLength;

    @Schema(description = "数据载荷", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "数据载荷不能为空")
    private String dataPayload;

    @Schema(description = "原始数据", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "原始数据不能为空")
    private String oriData;

    @Schema(description = "转发状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "转发状态不能为空")
    private Integer status;

}